﻿using System.ComponentModel;
using System.Xml;
using System.Xml.Serialization;

namespace Bpmn.Xml;

/// <remarks/>
[Serializable]
[XmlType(Namespace = "http://www.omg.org/spec/BPMN/20100524/MODEL", TypeName = "tStandardLoopCharacteristics")]
[XmlRoot("standardLoopCharacteristics", Namespace = "http://www.omg.org/spec/BPMN/20100524/MODEL", IsNullable = false)]
public partial class StandardLoopCharacteristics : LoopCharacteristics
{
    /// <remarks/>
    [XmlElement("loopCondition")]
    public Expression LoopCondition { get; set; } = default!;

    /// <remarks/>
    [XmlAttribute("testBefore")]
    [DefaultValue(false)]
    public bool TestBefore { get; set; } = false;

    /// <remarks/>
    [XmlAttribute("loopMaximum", DataType = "integer")]
    public string LoopMaximum { get; set; } = default!;
}
